home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tools / packer / unpacklib / include / libraries / unpack.i < prev   
Text File  |  1995-03-09  |  10KB  |  345 lines

  1. ; Unpack Library Include File
  2. ;
  3.  
  4.     IFND    Unpack.i
  5.  
  6. Unpack.i    =    1
  7.  
  8.     IFND    EXEC_TYPES_I
  9.     INCLUDE    "Exec/Types.i"
  10.     ENDC
  11.  
  12. BPTR        MACRO
  13. \1        EQU     SOFFSET
  14. SOFFSET     SET     SOFFSET+4
  15.         ENDM
  16.  
  17. ; Library Name & Version
  18.  
  19.  
  20. UNPACKNAME    MACRO
  21.         dc.b    "unpack.library",0
  22.         ENDM
  23.  
  24. UnpackVersion    =    39
  25. UnpackRevision    =    54
  26.  
  27.  
  28. ; First The Library Offsets
  29.  
  30. upAllocCInfo    =    -30
  31. upFreeCInfo    =    -36
  32. upDetermineFile    =    -42
  33. upUnpack    =    -48
  34. upTestHunk    =    -54
  35. upUnpackNum    =    -60        ;OBSOLETE!!!!
  36. upUnpackList    =    -66
  37. upUnpackListNext=    -72
  38.  
  39. upLoadFile    =    -78        ;V34.20
  40. upFreeFile    =    -84        ;V34.20
  41.  
  42. upUseDrive    =    -90        ;V36+
  43. upUnuseDrive    =    -96        ;V36+
  44. upSendCmd    =    -102        ;V36+
  45. upNewUnpackNum    =    -108        ;V37+
  46.  
  47. ; Library Base Structure
  48.  
  49.  
  50.     STRUCTURE LibraryStruct,0
  51.     STRUCT    LIB_Node,14
  52.     UBYTE    LIB_Flags
  53.     UBYTE    LIB_Pad
  54.     UWORD    LIB_NegSize
  55.     UWORD    LIB_PosSize
  56.     UWORD    LIB_Version
  57.     UWORD    LIB_Revision
  58.     APTR    LIB_IDString
  59.     ULONG    LIB_Sum
  60.     UWORD    LIB_OpenCnt
  61.  
  62.     BPTR    LIB_SegList
  63.     APTR    LIB_DosBase
  64.     APTR    LIB_IntBase
  65.     LABEL    LibraryStruct_SIZEOF
  66.  
  67.  
  68. ; Unpack Numbers Structure (V37+)
  69.  
  70.  
  71.     STRUCTURE NumberStruct,0
  72.     UWORD    NS_Version        ;Library Version
  73.     UWORD    NS_Revision        ;Library Revision
  74.     UWORD    NS_Types
  75.     UWORD    NS_Unpackers
  76.     LABEL    NumberStruct_SIZEOF
  77.  
  78.  
  79. ; Drive Structure (V36+)
  80.  
  81.  
  82.     STRUCTURE DriveStruct,0
  83.     APTR    DRV_UnpackInfo
  84.     STRUCT    DRV_IOStdReq,48
  85.     STRUCT    DRV_MsgPort,34
  86.     STRUCT    DRV_DevName,48
  87.     STRUCT    DRV_DriveName,10
  88.     LABEL    DriveStruct_SIZEOF
  89.  
  90.  
  91. ; Unpack Info Structure
  92.  
  93.  
  94.     STRUCTURE UnpackInfo,0
  95.     APTR    UI_Filename
  96.     APTR    UI_Path
  97.     APTR    UI_Jump
  98.     APTR    UI_CruncherName
  99.     APTR    UI_DecrunchAdr
  100.     LONG    UI_DecrunchLen
  101.     UWORD    UI_ErrorNum
  102.     UWORD    UI_CrunchNum
  103.     UBYTE    UI_CrunchType
  104.     UBYTE    UI_Flag
  105.     APTR    UI_LoadNamePoi
  106.     LONG    UI_CrunchLen
  107.     APTR    UI_UserData        ;V35+
  108.     APTR    UI_TrackJump        ;V36+
  109.     APTR    UI_TrkErrJump        ;V36+
  110.     LONG    UI_Offset        ;V36+
  111.     UWORD    UI_Track        ;V36+
  112.     APTR    UI_ErrorMsg        ;V37+
  113.     APTR    UI_CrunchAdr        ;V37+
  114.     APTR    UI_LhaPattern        ;V38+
  115.     BOOL8    UI_UseFilenamePointer    ;V39+
  116.  
  117. ; This Is Private, Do NOT Touch
  118.  
  119.     UBYTE    UI_Pad
  120.     LONG    UI_CrunchLenTemp
  121.     LONG    UI_FileHandler
  122.     LONG    UI_Lock
  123.     LONG    UI_OldLock
  124.     APTR    UI_InfoAdr
  125.     APTR    UI_UnpackPoi
  126.     ULONG    UI_Temp
  127.     STRUCT    UI_Data,4*4        ;V35+
  128.     STRUCT    UI_LoadName,128
  129.     STRUCT    UI_ExecuteString,256
  130.     STRUCT    UI_OutputFile,16
  131.     LABEL    UnpackInfo_SIZEOF
  132.  
  133.  
  134. ; The UI_Flag Have The Following Definations:
  135.  
  136. UFB_OneFile    =    0        ;This Select To Decrunch One File Or
  137.                     ;All Files In An Archive.
  138. UFB_Delete    =    1        ;Delete Files After Scanning.
  139. UFB_NoFree    =    2        ;Free Memory After Jump (V35+)
  140. UFB_Banner    =    3        ;Give Banner (V36+)
  141. UFB_NoLoad    =    4        ;Do Not Load File (V37+)
  142. UFB_Protect    =    5        ;Change Protection Bits (V38+)
  143.  
  144. UFN_OneFile    =    1<<UFB_OneFile
  145. UFN_Delete    =    1<<UFB_Delete
  146. UFN_NoFree    =    1<<UFB_NoFree
  147. UFN_Banner    =    1<<UFB_Banner
  148. UFN_NoLoad    =    1<<UFB_NoLoad
  149. UFN_Protect    =    1<<UFB_Protect
  150.  
  151.  
  152. ; And Now For The UI_CrunchType Flag: 
  153.  
  154. CRU_Archive    =    1        ;Archive (Lha, Zoo Etc.)
  155. CRU_Data    =    2        ;Data File
  156. CRU_Object    =    3        ;Object File
  157. CRU_Object2    =    4        ;2 Segment Object File
  158. CRU_Track    =    5        ;Track File (DMS) (V36+)
  159.  
  160. CRUB_Encryp    =    7        ;Encrypted File (If Bit Is Set)
  161.  
  162.  
  163. ; And The Error Flag:
  164.  
  165. ERR_Open    =    1        ;Can't Open File
  166. ERR_ReadWrite    =    2        ;Read/Write Error
  167. ERR_Memory    =    3        ;Allocation Error (Out Of Memory)
  168. ERR_Determine    =    4        ;Can't Determine File
  169. ERR_Password    =    5        ;Illegal Password
  170. ERR_Hunk    =    6        ;Hunk Error
  171. ERR_Extern    =    7        ;Extern File Error
  172.  
  173. ERR_Currupt    =    8        ;Crunched File Is Currupt (V35+)
  174.  
  175. ERR_Device    =    9        ;Illegal Device (V36+)
  176. ERR_DevOpen    =    10        ;Couldn't Opn Dev. Or Create Port V36+
  177. ERR_CRC        =    11        ;CRC Checksum Error (V36+)
  178. ERR_CheckSum    =    12        ;Checksum Error (V36+)
  179. ERR_Old        =    13        ;Decruncher In Lib. Too Old (V36+)
  180. ERR_DevErr    =    14        ;Error From Device (V36+)
  181.  
  182. ERR_Protect    =    15        ;Couldn't Set Protection Bits (V38+)
  183.  
  184. ERR_Output    =    16        ;Output File Error (V39+)
  185.  
  186. ; At Last The Cruncher Numbers:
  187.  
  188. MaxFilePack    =    12
  189.  
  190. CN_Lha        =    1        ;Lha
  191. CN_LhaSFX    =    2        ;LhaSFX
  192. CN_Pak10    =    3        ;Pak 1.0
  193. CN_Dms        =    4        ;Dms
  194.  
  195. CN_GnuPack10D    =    12        ;Gnu Packer 1.0 D
  196. CN_GnuPack12D    =    13        ;Gnu Packer 1.1/1.2 D
  197. CN_GnuPack12Two    =    14        ;Gnu Packer 1.1/1.2 Two Segment
  198. CN_GnuPack10    =    15        ;Gnu Packer 1.0
  199. CN_GnuPack12    =    16        ;Gnu Packer 1.1/1.2 One Segment
  200. CN_PPData    =    17        ;PowerPacker Data
  201. CN_PPDataE    =    18        ;PowerPacker Data/Encrypted
  202. CN_PPLoadSeg    =    19        ;PowerPacker LoadSeg
  203. CN_PPLib    =    20        ;PowerPacker Library
  204. CN_PPLibE    =    21        ;PowerPacker Library/Encrypted
  205. CN_PPLibOv    =    22        ;PowerPacker Library/Overlayed
  206. CN_PP2x        =    23        ;PowerPacker 2.x
  207. CN_PP30        =    24        ;PowerPacker 3.0
  208. CN_PP30E    =    25        ;PowerPacker 3.0 Encrypted
  209. CN_PP30Ov    =    26        ;PowerPacker 3.0 Overlayed
  210. CN_PP41        =    27        ;PowerPacker 4.0-4.1
  211. CN_PP41E    =    28        ;PowerPacker 4.0-4.1 Encrypted
  212. CN_PP41Ov    =    29        ;PowerPacker 4.0-4.1 Overlayed
  213. CN_Turtle13    =    30        ;Turtle Smasher 1.3
  214. CN_TSqueeze80    =    31        ;TurboSqueezer 8.0
  215. CN_TSqueeze80S    =    32        ;TurboSqueezer 8.0 Small
  216. CN_TryIt101    =    33        ;TryIt 1.01
  217. CN_Titanic11    =    34        ;Titanics Cruncher 1.1
  218. CN_Titanic12    =    35        ;Titanics Cruncher 1.2
  219. CN_Time22    =    36        ;Time Cruncher 1.7-2.2
  220. CN_Tetra21    =    37        ;TetraPacker 2.1
  221. CN_Tetra21Pro    =    38        ;TetraPacker 2.1 Pro
  222. CN_Tetra22    =    39        ;TetraPacker 2.2
  223. CN_Tetra22Pro    =    40        ;TetraPacker 2.2 Pro
  224. CN_Tetra102    =    41        ;TetraCrunch 1.02
  225. CN_Tetra11    =    42        ;TetraCrunch 1.1
  226. CN_Stone299d    =    43        ;Stone Cracker 2.99d
  227. CN_Stone311    =    44        ;Stone Cracker 3.11
  228. CN_Stone401A    =    45        ;Stone Cracker 4.01 A
  229. CN_Imploder31    =    46        ;Imploder 1.0-3.1
  230. CN_Imploder31P    =    47        ;Imploder 1.0-3.1 Protected
  231. CN_Imploder31L    =    48        ;Imploder 1.0-3.1 Library
  232. CN_Imploder31LP    =    49        ;Imploder 1.0-3.1 Library/Protected
  233. CN_Imploder40    =    50        ;Imploder 4.0
  234. CN_Imploder40L    =    51        ;Imploder 4.0 Library
  235. CN_BlkDec21    =    52        ;Black & Decker 2.0-2.1
  236. CN_BytKil20    =    53        ;ByteKiller 2.0
  237. CN_BytKil30    =    54        ;ByteKiller 3.0
  238. CN_TNMCrun11    =    55        ;TNM Cruncher 1.1
  239. CN_CrunMast10    =    56        ;Crunch Master 1.0
  240. CN_CrMania14A    =    57        ;Crunch Mania 1.4-1.9t A
  241. CN_CrMania14AP    =    58        ;Crunch Mania 1.4-1.8 A/P
  242. CN_CrMania14D    =    59        ;Crunch Mania 1.4-1.9t D
  243. CN_CrMania18R    =    60        ;Crunch Mania 1.4-1.9t R
  244. CN_CrMania18RS    =    61        ;Crunch Mania 1.4-1.9t R/S
  245. CN_CrMania18RL    =    62        ;Crunch Mania 1.8-1.9t R/L
  246. CN_CrMania18RLH    =    63        ;Crunch Mania 1.8-1.9t R/L/H
  247. CN_CrMania18RH    =    64        ;Crunch Mania 1.8-1.9t R/H
  248. CN_CrMania18DH    =    65        ;Crunch Mania 1.8-1.9t D/H
  249. CN_CrMania18DHS    =    66        ;Crunch Mania 1.8-1.9t D/H/S
  250. CN_CrMania18DS    =    67        ;Crunch Mania 1.8-1.9t D/S
  251. CN_DoubAction10    =    68        ;Double Action 1.0
  252. CN_DragPack10    =    69        ;DragPack 1.0
  253. CN_House14    =    70        ;House 1.4 (RSI-Packer)
  254. CN_HPC        =    71        ;High Pressure Cruncher
  255. CN_HPCU        =    72        ;High Pressure Cruncher U
  256. CN_IAM10Ice    =    73        ;IAM Packer Pro 1.0 Ice
  257. CN_IAM10IceD    =    74        ;IAM Packer Pro 1.0 Ice/D
  258. CN_IAM10Atm5    =    75        ;IAM Packer Pro 1.0 Atm5
  259. CN_IAM10Atm5D    =    76        ;IAM Packer Pro 1.0 Atm5/D
  260. CN_ISC15P1    =    77        ;ISC 1.5 Pass 1
  261. CN_ISC15P2    =    78        ;ISC 1.5 Pass 2
  262. CN_ISC15P3    =    79        ;ISC 1.5 Pass 3
  263. CN_MastCrun31A    =    80        ;Master Cruncher 3.0-3.1 A
  264. CN_MastCrun31R    =    81        ;Master Cruncher 3.0-3.1 R
  265. CN_MastCrun31D    =    82        ;Master Cruncher 3.0-3.1 D
  266. CN_MegaCrun10    =    83        ;Megacruncher 1.0
  267. CN_MegaCrun12A    =    84        ;Megacruncher 1.2 A
  268. CN_MegaCrun12R    =    85        ;Megacruncher 1.2 R
  269. CN_Defjam36    =    86        ;Defjam 3.2-3.6
  270. CN_Defjam36Pro    =    87        ;Defjam 3.2-3.6 Pro
  271. CN_PackIt10    =    88        ;PackIt 1.0
  272. CN_PackIt10D    =    89        ;PackIt 1.0 D
  273. CN_Relokit10    =    90        ;Relokit 1.0
  274. CN_Spike15    =    91        ;Spike Cruncher 1.1-1.5
  275. CN_SuperCrun27    =    92        ;Super Cruncher 2.7
  276. CN_Syncro46    =    93        ;Syncro Packer 4.6
  277. CN_Syncro46K    =    94        ;Syncro Packer 4.6 K
  278. CN_Syncro46R    =    95        ;Syncro Packer 4.6 R
  279. CN_Syncro46RK    =    96        ;Syncro Packer 4.6 R/K
  280. CN_Stone400    =    97        ;Stone Cracker 4.00
  281. CN_Stone400D    =    98        ;Stone Cracker 4.00 D
  282. CN_Stone401C    =    99        ;Stone Cracker 4.01 C
  283. CN_Stone401D    =    100        ;Stone Cracker 4.01 D
  284. CN_XpkBLZW    =    101        ;XPK-BLZW
  285. CN_XpkCBR0    =    102        ;XPK-CBR0
  286. CN_XpkDLTA    =    103        ;XPK-DLTA
  287. CN_XpkFEAL    =    104        ;XPK-FEAL
  288. CN_XpkHUFF    =    105        ;XPK-HUFF
  289. CN_XpkIDEA    =    106        ;XPK-IDEA
  290. CN_XpkIMPL    =    107        ;XPK-IMPL
  291. CN_XpkNONE    =    108        ;XPK-NONE
  292. CN_XpkNUKE    =    109        ;XPK-NUKE
  293. CN_XpkRDCN    =    110        ;XPK-RDCN
  294. CN_XpkRLEN    =    111        ;XPK-RLEN
  295. CN_XpkSHRI    =    112        ;XPK-SHRI
  296. CN_MaxPacker12    =    113        ;MaxPacker 1.2
  297. CN_PMC        =    114        ;PMC Cruncher
  298. CN_Stone271    =    115        ;Stone Cracker 2.6a-2.71
  299. CN_Stone271K    =    116        ;Stone Cracker 2.6a-2.71 K
  300. CN_Stone310    =    117        ;Stone Cracker 3.10
  301. CN_Stone402    =    118        ;Stone Cracker 4.02a
  302. CN_Stone402A    =    119        ;Stone Cracker 4.02a A
  303. CN_Stone402D    =    120        ;Stone Cracker 4.02a D
  304. CN_Stone402L    =    121        ;Stone Cracker 4.02a L
  305. CN_Turtle200    =    122        ;Turtle Smasher 2.00
  306. CN_Turtle200D    =    123        ;Turtle Smasher 2.00 D
  307. CN_ANC        =    124        ;ANC-Cruncher
  308. CN_DisImp10    =    125        ;Discovery File Imploder 1.0
  309. CN_HQC20    =    126        ;HQC Cruncher 2.0
  310. CN_XpkCRM2    =    127        ;XPK-CRM2
  311. CN_XpkENCO    =    128        ;XPK-ENCO
  312. CN_XpkFAST    =    129        ;XPK-FAST
  313. CN_Stone292    =    130        ;Stone Cracker 2.92
  314. CN_Stone299    =    131        ;Stone Cracker 2.99
  315. CN_PCompress29    =    132        ;P-Compress 2.9
  316. CN_CrMania19AP    =    133        ;Crunch Mania 1.9t A/P
  317. CN_CrMania19AH    =    134        ;Crunch Mania 1.9t A/H
  318. CN_CrMania19AHP    =    135        ;Crunch Mania 1.9t A/H/P
  319. CN_TSqueeze61    =    136        ;TurboSqueezer 6.1
  320. CN_FlashSpeed10    =    137        ;FlashSpeed 1.0
  321. CN_BytKilPro10    =    138        ;ByteKiller 1.0 Pro
  322. CN_BytKilPro10K    =    139        ;ByteKiller 1.0 Pro K
  323. CN_Stone401bA    =    140        ;Stone Cracker 4.01ß A
  324. CN_TrashEli10    =    141        ;Trash Eliminator 1.0
  325. CN_Ultimate11b    =    142        ;Ultimate Packer 1.1b
  326. CN_TFA154    =    143        ;TFA Cruncher 1.54
  327. CN_SExec11    =    144        ;S-Exec 1.1
  328. CN_Stone4102    =    145        ;Stone Cracker 4.10.2
  329. CN_Stone4102A    =    146        ;Stone Cracker 4.10.2 A
  330. CN_Stone4102AP    =    147        ;Stone Cracker 4.10.2 A/Plain
  331. CN_Stone4102APr    =    148        ;Stone Cracker 4.10.2 A/Pro
  332. CN_Stone4102D    =    149        ;Stone Cracker 4.10.2 D
  333. CN_Stone4102L    =    150        ;Stone Cracker 4.10.2 L
  334. CN_DragPack252    =    151        ;DragPack 2.52
  335. CN_DragPack252D    =    152        ;DragPack 2.52 D
  336. CN_Stone300    =    153        ;Stone Cracker 3.00
  337. CN_Stone300D    =    154        ;Stone Cracker 3.00 D
  338. CN_Stone300K    =    155        ;Stone Cracker 3.00 K
  339. CN_XpkSQSH    =    156        ;XPK-SQSH
  340.  
  341. ; This Label Will Be Deleted Later On
  342.  
  343. CN_ComCra11    =    CN_TNMCrun11    ;Compressor Crackings Inc. V1.1
  344.     ENDC
  345.